#见明之意
"""
编程思想 ：
面向对象：找对象 让对象帮助我们完成相应的功能实现
面向过程：分析过程
比如： 做饭 对象的的话 可以订外卖
           过程的话   自己烧菜 烧火比较类
 python 中定义类 ：一类具有相同事物特征抽象画的概念 比如：猫狗猪
          属性:用变量
          行为:函数
        class 类名称（）：
        self:表示当前对象 相当于对象
        创建对象：对象名称=类名称（参数...）
        调用属性和函数
        属性 对象.属性名称
        函数：
        对象函数：只能被对象调用    有默认参数 self 表示当前对象
        类函数：既可以被对象调用，也可以被类调用 有默认参数cls 表示当前类
        静态函数：既可以被对象调用，也可以被类调用  没有默认参数

"""

class Car():
    #类变量  类内部 函数的外部
    name="车"
    type="宝马"
    #属性变量 就是对象变量 init函数 self表示当前对象
    def __init__(self,color,price):
        #对象属性
        self.color=color
        self.price=price

        #对象函数
    def run(self):
        print("车在跑",self.color,self.price,self.name)
        #类函数
    @classmethod
    def shaChe(cls):
        print("刹车成功",cls.name,cls.type)
        #静态函数
    @staticmethod
    def teXt():
        print("静态函数")

if __name__ == '__main__':
    #创建对象
    car1 =Car("白色",20000)
    # 类属性
    print(car1.name)#类属性 可以被对象调用
    print(Car.name)
    #对象属性  只能被对象调用
    print(car1.price)

 #对类里面的函数 通过对象.函数名称去调用函数
    car2 = Car("黑色",3000)
    #等号左边相当于赋新的值
   # car2.color= "橘色"
    #等号右边相当于获取值
    a = car2.color
    print(a)
    car2.run()

    #类函数  通过类去调用
    Car.shaChe()
    #通过对象去调用
    car2.shaChe()


    # 静态函数 通过类去调用
    Car.teXt()
    #通过对象去调用
    car2.teXt()